home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C/C++ Users Group Library 1996 July
/
C-C++ Users Group Library July 1996.iso
/
vol_100
/
153_01
/
dosdate.asm
< prev
next >
Wrap
Assembly Source File
|
1985-03-09
|
1KB
|
47 lines
; *** dosdate.asm ***
;
; IBM-PC microsoft "C" under PC-DOS
;
; Microsoft "C" callable 8088 assembly routine that uses a DOS function
; call to obtain and return the month, day, and year as integers.
;
; synopsis dosdate(&imo,&iday,&iyr);
;
; *** no function value returned ***
; int imo; 1-12
; int iday; 1-31
; int iyr; 1980-2099
;
; Written by L. Cuthbertson, May 1984
;
;**********************************************************************
;
PGROUP GROUP PROG
PROG SEGMENT BYTE PUBLIC 'PROG'
PUBLIC DOSDATE
ASSUME CS:PGROUP
;
; ********************************************************************
;
DOSDATE PROC NEAR
PUSH BP
MOV BP,SP
MOV AH,2AH ; DOS GET DATE FUNCTION NUMBER
INT 21H ; DOS FUNCTION CALL INTERRUPT
MOV AL,DH ; MOVE MONTH INTO AX
XOR AH,AH ; CLEAR HIGH BYTE
MOV DI,[BP+4] ; ADDRESS OF MONTH VARIABLE
MOV [DI],AX ; MOVE MONTH INTO MONTH VARIABLE
MOV BL,DL ; MOVE DAY INTO BX
XOR BH,BH ; CLEAR HIGH BYTE
MOV DI,[BP+6] ; ADDRESS OF DAY VARIABLE
MOV [DI],BX ; MOVE DAY INTO DAY VARIABLE
MOV DI,[BP+8] ; ADDRESS OF YEAR VARIABLE
MOV [DI],CX ; MOVE YEAR INTO YEAR VARIABLE
POP BP
RET
DOSDATE ENDP
;
PROG ENDS
END
monthd[] = {0,31,59,90,120,151,181,212,243,273,